package com.hlkj.pay.vo.common.req;

import java.io.Serializable;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.Length;

import com.hlkj.framework.common.valid.EnumValid;
import com.hlkj.pay.enums.CommonEnum;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * @author monk@techsun.com
 * @date 2023/04/21 14:10
 */
@Data
public class AddTemplateReq implements Serializable {
    
    private static final long serialVersionUID = -1404584467919178525L;
    
    @Schema(description = "模板名称")
    @NotBlank(message = "模板名称不能为空")
    @Size(max = 50, message = "模板名称长度超过50")
    private String            templateName;

    
    @Schema(description = " 消息类型：0-国内短信，1-国际/港澳台短息，2-邮件，3-微信")
    @NotNull(message = "消息类型不能为空")
    @EnumValid(value = CommonEnum.TEMPLATE_TYPE.class, message = "消息类型无效")
    private Integer           templateType;
    
    @Schema(description = " 业务类型：1-营销类 2- 通知类 3 验证码")
    @NotNull(message = "业务类型不能为空")
    @EnumValid(value = CommonEnum.BUSINESS_TYPE.class, message = "业务类型无效")
    private Integer           businessType;
    
    @Schema(description = "模板内容")
    @NotBlank(message = "模板内容不能为空")
    private String            content;
    
    /**
     * 场景名称
     */
    @Schema(description = "场景名称")
    @NotBlank(message = "场景名称不能为空")
    private String  sceneName;
    
    /**
     * 模板id
     */
    @Schema(description = "第三方模板id")
    @NotBlank(message = "第三方模板id不能为空")
    private String  templateId;
    /**
     * 模板id
     */
    @Schema(description = "0 草稿 1 启用 2 无效")
    @EnumValid(value = CommonEnum.TEMPLATE_STATUS.class, message = "状态类型无效")
    private Integer  status;
}
